package com.ce.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ce.server.common.RespBean;
import com.ce.server.common.RespPageBean;
import com.ce.server.pojo.ClockIn;

import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 郑爽
 * @since 2021-11-17
 */
public interface IClockInService extends IService<ClockIn> {


  /**
   * 每天00点都去入校表新建所有学生的待打卡记录
   */
  void everydayCreateClockIn();

  /**
   * 根据学号获取该学生最后的一次打卡记录
   *
   * @param sno
   * @return
   */
  ClockIn getClockInByToday(String sno);

  /**
   * 提交打卡信息
   *
   * @param clock
   * @return
   */
  boolean commitClockInMessage(ClockIn clock);


  /**
   * 分页获取打卡信息
   *
   * @param currentPage
   * @param size
   * @param clockIn
   * @return
   */
  RespPageBean getClockInsByPage(Integer currentPage, Integer size, ClockIn clockIn, LocalDate[] createTimeScope);

  /**
   * 获取今日打卡 或 未打卡 的学生信息
   *
   * @param isClockIn true 表示 已打卡 ,  false 表示未打卡
   * @return
   */
  RespPageBean getTodayClockInsByPage(Integer currentPage, Integer size, boolean isClockIn);

  /**
   * 批量删除
   * @param ids
   * @return
   */
  RespBean delRecords(Integer[] ids);
}
